#include<stdio.h>
#include<unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

int main()
{
     pid_t id=fork();
     if(id<0)
     {
       printf("子进程创建失败\n");
     }
     else if(id==0)
     {
        char*pa[10]={"ls","-a","-l",NULL};
        execvp(pa[0],pa);
        printf("替换失败\n");
     }
    int status=0;
    pid_t ret_id = waitpid(id,&status,0);
    printf("我是父进程，等待子进程成功, pid: %d, ppid: %d, ret_id:%d,父进程获得子进程的退出码为：%d\n",getpid(), getppid(), ret_id,WEXITSTATUS(status));  
    return 0;
}